python3.9配虚拟环境搭建numpy、tensorflow、matplotlib解决版本不兼容问题 您所在的位置:网站首页 pip matplotlib安装 python3.9配虚拟环境搭建numpy、tensorflow、matplotlib解决版本不兼容问题

python3.9配虚拟环境搭建numpy、tensorflow、matplotlib解决版本不兼容问题

2024-01-25 04:57| 来源: 网络整理| 查看: 265

一、前言

随着学的越来越深,发现以前有很多东西配置啊安装啊是不够清晰的、写Python作业经常会出现版本不兼容的问题,只会照着网上的经验贴复制粘贴代码,而不懂得背后的逻辑,所以产生这篇经验贴,想着一次性搞好环境版本不兼容的问题。

我的电脑没有独显,所以用的都是cpu可兼容的版本,使用的系统是Windows 11。

首先需要提前做的事情是:

下载Python解释器下载并配置Pycharm下载并配置Anaconda 二、Python开发环境

我用的是Pycharm专业版,网上有很多破解版教程可以自行搜索。

一开始我用的是vscode,后面发现不方便。为什么呢?因为大一的时候学c语言,编写c语言是在vscode里面的,后面写python也想在vscode里面,结果一通操作之后,vscode的环境由c语言变成了python搞得c语言又要重新配环境,就很麻烦。(相信你们应该知道vscode配c语言环境有多麻烦。。。)后面导致重新vscode配c语言环境也是老是用不了,反反复复配。所以Python还是乖乖在Pycharm里面跑吧。

这里建议用专业版,不然以后深入学习的话有些功能用不了。

三、用什么下?介绍一下pip和conda

pip和conda都是可以用来管理包的。所谓包,简而言之就是实现功能的工具吧,就犹如画图要用笔,计算要用计算器。我们使用的python基本库有些功能是无法实现的,或者有更好的实现方式,这些实现的方式可以放在包里面,我们把包下载下来后就可以调用包里面的功能。

我以前pip和conda都是在Anaconda Prompt里面混着用的,因为网上搜索下载包的教程有时候用pip的指令来下有时候用conda的指令来下,我只会复制粘贴代码。但其实它们是有不同之处,结合网上的一些经验贴总结如下[1][2]:

pip只能下载python的包,conda除了下载python的包还可以下载别的包。pip可以在任何环境下载包,conda只能在conda环境下下载包。pip 和 conda 的python安装包路径在虚拟环境下都是 xxxx\Anaconda3\envs\a_conda_env\Lib\site-packages,conda 安装非python包路径是 xxxxx\Anaconda3\pkgs。conda 会覆盖pip安装的包,pip 不会覆盖conda的包。 四、从哪里下?介绍一下镜像源

镜像源其实就是包下载的地方啦,在镜像源里面下载会比在国外网站下载快。

常用的镜像源[3]: 阿里云:http://mirrors.aliyun.com/pypi/simple 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple 中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple 中国科学院:http://pypi.mirrors.opencas.cn/simple 1、查看镜像源

可以在Anaconda Prompt中输入conda --show channels查看镜像源的路径。可以看出,我这里用的是清华的镜像源,有一个问题是我挂着tizi的时候不能下载包,会出现网络错误,不知道是不是镜像源的问题,总之下载的时候别挂着tizi就行了。 在这里插入图片描述

2、更换镜像源

可以参考这一篇博客,写的挺详细的:yutu7:Anaconda更换镜像源的相关配置。我没换过镜像源,下次有空试试(踩踩坑)。

五、怎么下?Anaconda配置虚拟环境[4] 1、查看Python版本

打开Anaconda Prompt,输入python --version,可以看出我这里下载的base(本地的)的python版本是3.9.12。 在这里插入图片描述 有时候我们需要用不同的python版本,例如3.8的,但是又不方便修改本地base的python版本,怎么办呢?所以就需要创建虚拟环境,在虚拟环境中配置你想要的python版本。一般来说,一个环境中的python版本随意更改之后,该环境的其他包会很容易出现不兼容问题。

2、创建虚拟环境

如果之前已经创建了虚拟环境可以不用创建,直接把包装进虚拟环境即可。可以跳转下面的第3条。

接着在Anaconda Prompt中,输入conda create -n 虚拟环境的名字 python=3.9,例如:我这里创建的虚拟环境的名字是EnvPython3.9,这个名字可以随便取。python版本设置为3.9。 会冒出来一大串东西: 在这里插入图片描述 在这里插入图片描述 意思就是我原本的conda环境(23.7.4)太老了,它WARNING让我升级conda(23.10.0)。 创建的虚拟环境的地址是在D:\Anaconda\envs\EnvPython3.9当中。 The following NEW packages will be INSTALLED的意思是从下列地址当中把包装进这个新的虚拟环境中。 Proceed ([y]/n)?意思是要继续下载吗?我们选择y,确定下载。

3、查看创建的虚拟环境

接着在Anaconda Prompt中,输入conda info --envs。可以看出,刚刚创建的虚拟环境EnvPython3.9出现在列表中,说明确实创建成功。星号*所指的就是目前所在的环境base,第一行中(base)也说明现在的环境是本地环境。

在这里插入图片描述 我们还可以删除多余的虚拟环境,输入conda remove --n 虚拟环境名字 --all,例如:删除EnvPython9这个虚拟环境。Proceed ([y]/n)?我们选择y,确定删除。

4、激活虚拟环境

输入activate (虚拟环境名字)即可激活该虚拟环境,接着我们可以输入conda list查看这个虚拟环境中配置的包。从图中我们可以看出,第三行括号里面的环境已经切换为我们想配置的虚拟环境当中了,而且之前创建虚拟环境的同时,会把最新版的pip也装进去。对比于base中的包,这个虚拟环境中的包的数量显然少很多,所以下一步我们还需要在该虚拟环境中搭载我们需要的包。 在这里插入图片描述 我们也可以输入conda deactivate 退出当前的虚拟环境回到base环境中 在这里插入图片描述

5、常用的命令 操作pip命令conda命令下载包pip install 包名或pip install -n 指定环境名 包名或pip 包名==指定版本conda install 包名或 conda install -n 指定环境名 包名或conda 包名==指定版本删除包pip uninstall 包名conda uninstall 包名查看该环境安装的包pip listconda list

接着我们可以利用以上命令来管理包,一般来说是通用的,但会有少许不同。查阅资料发现,程序猿的探索之路的这篇博文提到:

conda会检查版本的依赖性,pip不会。这也就导致pip下的包可能会因为不兼容而用不了。

如果同时用conda和pip下了同一个但不同版本的包,可能会出现冲突,需要手动删除其中一个。

这几个是可以兼容的 python 3.9.18 matplotlib 3.8.0 numpy 1.26.2 tensorflow-cpu 2.15.0

下载numpy(建议先下载numpy):pip install numpy==1.26.2 下载matplotlib:pip install matplotlib==3.8.0 下载tensorflow-cpu:pip install tensorflow-cpu==2.15.0

六、Pycharm中切换虚拟环境

打开pycharm

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 然后点确定-确定就切换成功了。

在这里插入图片描述 如果看不懂,这里有个油管的视频版教学:油管创建虚拟环境后在pycharm中更换虚拟环境

参考 [1]刘梓枫: Pip install 和Conda install 的区别和使用场景[2]玛丽莲茼蒿: conda install 和 pip 的区别[3]罗其华: 安装python包用到的国内外镜像源以及利用anaconda创建虚拟环境[4]Zeeland: 在anaconda中配置虚拟环境教程


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有